#ifndef __BASIC_TIMER_H__
#define __BASIC_TIMER_H__

#include <cstdint>
#include "platform.h"

namespace basic {
M_API_FUNC uint64_t gTimerNow();
M_API_FUNC uint64_t gTimerSinceInSeconds(uint64_t);
M_API_FUNC uint64_t gTimerSinceInMilliseconds(uint64_t);
M_API_FUNC uint64_t gTimerSinceInNanoseconds(uint64_t);
M_API_FUNC uint64_t gTimerElapseInSecond(uint64_t, uint64_t);
M_API_FUNC uint64_t gTimerElapseInMilliseconds(uint64_t, uint64_t);
M_API_FUNC uint64_t gTimerElapseInNanoseconds(uint64_t, uint64_t);
M_API_FUNC uint64_t gTimerSinceLastCallInSeconds();
M_API_FUNC uint64_t gTimerSinceLastCallInMilliseconds();
M_API_FUNC uint64_t gTimerSinceLastCallInNanoseconds();
} // namespace basic

#endif
